/*
 * Window.h
 *
 *  Created on: 26-nov.-2013
 *      Author: Axel
 */

#ifndef WINDOW_H_
#define WINDOW_H_

class Window {
public:
	//constructor, sets the height, width and title
	Window(int width, int height, char* title);
	~Window();

	//check if window is closed
	bool closeWindow();
	//swap glfw screen buffer
	void swapBuffer();
	//handle glfw input
	void handleInput();

	//get the game window
	GLFWwindow* getWindow();

private:
	//parameters to set the height, width and title
	int WIDTH;
	int HEIGHT;
	char* TITLE;

	//the actual window
	GLFWwindow* window;

	//destroy the window
	void destroy();

	//turn vsync off
	static void VSyncOff();
	//turn vsync on
	static void VSyncOn();

	//initialise the window
	void init();
	//initialise glfw
	void initWithGLFW();
	//initialise glew
	void initGlew();
};

#endif /* WINDOW_H_ */
